@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo 🚀 开始构建海外数据平台...

REM 检查Node.js版本
for /f "tokens=*" %%i in ('node -v') do set NODE_VERSION=%%i
echo 📦 Node.js版本: !NODE_VERSION!

REM 检查npm版本
for /f "tokens=*" %%i in ('npm -v') do set NPM_VERSION=%%i
echo 📦 npm版本: !NPM_VERSION!

REM 清理之前的构建
echo 🧹 清理之前的构建文件...
if exist dist rmdir /s /q dist
if exist node_modules\.vite rmdir /s /q node_modules\.vite

REM 安装依赖
echo 📥 安装项目依赖...
call npm ci --production=false

REM 生产环境构建
echo 🔨 开始生产环境构建...
call npm run build:prod

REM 检查构建结果
if %errorlevel% equ 0 (
    echo ✅ 构建成功！
    
    REM 显示构建文件大小
    echo 📊 构建文件统计:
    dir dist /s
    
    REM 检查关键文件
    if exist "dist\index.html" (
        echo ✅ index.html 已生成
    ) else (
        echo ❌ index.html 未找到
        exit /b 1
    )
    
    if exist "dist\assets" (
        echo ✅ assets 目录已生成
        dir dist\assets /b | find /c /v ""
    ) else (
        echo ❌ assets 目录未找到
        exit /b 1
    )
    
    REM 压缩构建结果（可选）
    echo 🗜️  压缩构建结果...
    set TIMESTAMP=%date:~0,4%%date:~5,2%%date:~8,2%-%time:~0,2%%time:~3,2%%time:~6,2%
    set TIMESTAMP=!TIMESTAMP: =0!
    powershell -command "Compress-Archive -Path 'dist' -DestinationPath 'dataverify-!TIMESTAMP!.zip' -Force"
    
    echo 🎉 构建完成！
    echo 📁 构建目录: dist\
    echo 📦 压缩包: dataverify-!TIMESTAMP!.zip
    
    REM 部署建议
    echo.
    echo 📋 部署建议:
    echo 1. 将 dist\ 目录内容上传到服务器
    echo 2. 配置Nginx/Apache服务器
    echo 3. 启用Gzip压缩
    echo 4. 配置CDN加速
    echo 5. 设置合适的缓存策略
    
) else (
    echo ❌ 构建失败！
    exit /b 1
)

pause
